Metadaten - Exif und IPTC

Digitale Bilder k÷nnen au▀er dem eigentlichen Bild weitere Informationen enthalten.

Dies wird insbesondere bei Fotos genutzt, die von Digitalkameras erzeugt wurden. So werden dort der Name des Kameraherstellers, die Bezeichnung des Kameramodells, Belichtungszeit, Blende, Aufnahmedatum und viele weitere Informationen abgelegt. Der Aufbau dieser Informationen ist in einer Norm, "Exchangeable image file format for Digital Still Cameras", kurz Exif genannt, beschrieben.

Alle Bilder vom Typ JPEG k÷nnen aber auch allgemeine Information enthalten, deren Aufbau die IPTC festgelegt hat.

Da die Metadaten-Auswertung teilweise sehr aufwΣndig ist und die internen Strukturen von JoJoThumb erweitert, ist der Ausleseprozess explizit einzuschalten. Der Schalter befindet sich bei den HTML-Grundeinstellungen. Die einzelnen Informationen werden in Exif/IPTC-EintrΣgen abgelegt und k÷nnen durch JoJoScript-Funktionen ausgewertet werden.

Um die gesamte folgende FunktionalitΣt nutzen zu k÷nnen, muss ein Grundwissen ⁿber die entsprechenden Normen vorhanden sein; insbesondere die Bedeutung von Eintragsnummern (Tags), Eintragsbezeichnungen und Eintragsbedeutungen.

Leider werden die in der Norm beschriebenen Vorgaben von den Herstellern nicht immer gleich interpretiert. ZusΣtzlich sieht die Exif-Norm einen Hersteller/GerΣteabhΣngigen Teil (Makernote) in dieser Informationssammlung vor. Aus diesem Grund muss eine Auswertung teilweise an diese Gegebenheiten angepasst werden.
Fⁿr JoJoThumb bedeutet dies, dass es m÷glicherweise an nicht bekannte Kameramodelle angepasst werden muss.
Um etwas auf diese Tatsache vorbereitet zu sein, ist ein Teil der Metadatendefinition in eine externe Beschreibungsdatei (metadata.def im Installationsverzeichnis von JoJoThumb) ausgelagert worden. Im folgenden sind das Format dieser Datei sowie einige Exif- und IPTC-EintrΣge mit ihrer Nummer und ihrer Bezeichnung beschrieben.

Aufbau der Metadaten-Beschreibungsdatei (metadata.def)

Erstes Zeichen einer Zeile Zeileninhalt
* Rest der Zeile ist Kommentar
# Sektion
 
Sektionsbezeichnung Bedeutung
version nr Die Versionsangabe muss zwingend als erste Sektion vorhanden sein
main

Image File Directory 0 (IFD 0)
Hierⁿber sind alle m÷glichen allgemeinen EintrΣge erreichbar.
Siehe Verzeichnis der Exif-EintrΣge

thumbnail

Image File Directory 1 (IFD 1)
Hierⁿber sind alle m÷glichen allgemeinen EintrΣge fⁿr Thumbnails, die zusΣtzlich in den Bilder abgelegt wurden, erreichbar.
Siehe Verzeichnis der Exif-EintrΣge

makernote gerΣtegruppe

Im IFD 0 gibt es einen speziellen Eintrag, in dem die Hersteller weitere Informationen nach eigener Vorstellung ablegen k÷nnen. In dieser Sektion k÷nnen diese EintrΣge rudimentΣr beschrieben werden (leider sind sie sehr herstellerabhΣngig).
Siehe Verzeichnis der Exif-EintrΣge

Im Anschluss an die Sektionsbezeichnung muss der Name der GerΣtegruppe, fⁿr den diese Makernote gilt, angegeben werden.
Zur Zeit sind folgende GerΣtegruppen realisiert:

GerΣtegruppe
bzw. Hersteller
Modelle
(da nicht alle Modelle getestet werden k÷nnen, gilt die Aussage bis auf Widerruf)
ASAHI01 alle Pentax-Modelle au▀er E-Serie und die bei ASAHI02 aufgefⁿhrten
ASAHI02 Optio 230
CANON01 alle
CASIO01 alle Casio-Modelle, au▀er die bei CASIO02 aufgefⁿhrten
CASIO02 EX-M1, EX-S1, QV-R3, QV-R4
EPSON01 alle
FUJIFILM01 alle
MINOLTA01 alle
OLYMPUS01 alle Agfa, Epson, Olympus, Sanyo
PANASONIC01 alle
NIKON01 D100, E700, E800, E900, E900S, E910, E950, E2000, E4500, E5700
NIKON02 fⁿr alle ⁿbrigen Nikonmodelle, z.B. D1, E880, E885, E990, E995, E2500, E5000
gps

Global positioning System (gps)
Einige Kameramodelle k÷nnen Information ⁿber den Standort, an dem das Foto gemacht wurde speichern. Diese Informationen werden ⁿber das GPS bezogen.
Siehe Verzeichnis der Exif-EintrΣge

focalequiv

Zu einzelnen Kameramodellen kann hier ein Multiplikator eingetragen werden, wodurch dann eine Brennweitenentsprechung zu einer 35mm-Kamera ermittelt werden kann

iptc

Hieran k÷nnen dann die Bezeichnungen der jeweiligen IPTC-Tags folgen


z.B.
# version 2
# makernote nikon02
# iptc
+ Beschreibung des Eintrags der vorher bezeichneten Sektion
  • Fⁿr EintrΣge der Sektionen main, thumbnail, makernote und gps gilt:
    Eintragnummer (INTEGER), Eintragsposition (INTEGER), Format (INTEGER), Bezeichnung (STRING)

    Die Eintragsnummer ist z.B. der Liste der EintrΣge der Norm Exif zu entnehmen.

    Bei bestimmten EintrΣgen k÷nnen mehrere Informationen abgelegt sein. Hier ist die Position in dieser Informationsfolge anzugeben. Ist der Basiseintrag bemeint, ist eine 0 als Position anzugeben.

    Die Formatangabe gilt fⁿr die Anforderung des Exif-Eintrags mit der Funktion exifnice.

    spezieller Exif-Eintrag Format Darstellung Anmerkungen
    ExposureTime - 1/100  
    FNumber - f2.8  
    ComponentsConfiguration - diverse  
    ShutterSpeedValue - 1/100  
    ApertureValue - f2.8  
    MaxApertureValue - f2.8  
    FocalLength 0 5.8mm tatsΣchliche Brennweite
    1 58mm 35mm Kamera entsprechende Brennweite
     
    allgemeiner Exif-Eintrag Format Darstellung Anmerkungen
    Integer-EintrΣge 0 Sunny

    oder

    48

    oder

    48,49,50,4,...(32)

    Wenn m÷glich wird die Beschreibung aus der Exif-Beschreibungsdatei entnommen

    Komponenten werden durch Komma getrennt (es werden aber max. 10 Elemente dargestellt)

    1 0123___ Die einzelnen Komponenten werden als ASCII Zeichen interpretiert und zu einem String zusammengesetzt. ASCII-Zeichen mit einem Wert<32 werden als _ dargestellt.
    2 0123 Die einzelnen Komponenten werden als Unicode-Zeichen interpretiert (je 2 Byte) und zu einem String zusammengesetzt.
    Double-EintrΣge 0 1.23456

    oder

    1.23,1.48,2.45,4.76,...(15)

    Komponenten werden durch Komma getrennt (es werden aber max. 10 Elemente dargestellt)
    10 0.0
    11 0mm
    12 0.0cm
    13 0.00dm
    14 0.000m
    String-EintrΣge 0 abcde keine Aufbereitung
    1 datum Hier wird versucht, aus dem String ein Datum zu ermittlen
    10 0.0 Einige EintrΣge enthalten Daten in der Form 1000/500

    Diese Informationen k÷nnen in Doublewerte umgewandelt werden
    11 0mm
    12 0.0cm
    13 0.00dm
    14 0.000m

     

  • Fⁿr EintrΣge der Sektion focalequiv gilt:
    Kamerabezeichnung (STRING), Multiplikator (INTEGER oder DOUBLE)

Die Kamerabezeichung muss der Bezeichnung im EXIF-Eintrag Model entsprechen (ohne eine eventuell in Klammern vorhandene Versionsbezeichnung)

  • Fⁿr EintrΣge der Sektion iptc gilt:
    Tagnummer (INTEGER), Tagbezeichnung (STRING)

z.B. Name des Herstellers
+ 271, 0, 0, Make

z.B. Bezeichnung des Kameramodells
+ 272, 0, 0, Model

z.B. 35mm-─quivalent einer Canon G2
+ Canon PowerShot G2, 4.86

z.B. IPTC-Tagbezeichnung
+ 5, Object Name

! Beschreibung des Inhalts des vorher bezeichneten Exif-Eintrags
Inhalt (INTEGER), Bezeichnung (STRING)

Mit der Inhaltsbeschreibung eines Exif-Eintrags wird die Funktion exifnice in die Lage versetzt, Rohinhalte, die zu verschiedenen Exif-EintrΣgen vorliegen, in eine lesbare Form zu ⁿberfⁿhren.
So wird z.B. statt 1 als Ergebnis es Erfragens der Art der Lichtquelle die Information Tageslicht angeliefert.

z.B.
+ 0x128, 0, 0, ResolutionUnit
! 1, keine Einheit
! 2, Inch
! 3, Zentimeter

+ 0x1, 5, 0, FlashMode
! 0, not fired
! 1, auto
! 2, on
! 3, red-eye reduction
! 4, slow synchro
! 5, auto+red-eye reduction
! 6, on+red-eye reduction
! 16, external flash

 

AusgewΣhlte Exif-EintrΣge der Norm Exif

Sektion Main
Hexadezimalwert Dezimalwert Bezeichnung
0x9202 37378 ApertureValue
0x9203 37379 BrightnessValue
0xA302 41730 CFAPattern
0xA001 40961 ColorSpace
0x9101 37121 ComponentsConfiguration
0x9102 37122 CompressedBitsPerPixel
0x8298 33432 Copyright
0x132 306 DateTime
0x9004 36868 DateTimeDigitized
0x9003 36867 DateTimeOriginal
0xA005 40965 ExifInteroperabilityOffset
0x8769 34665 ExifOffset
0x9000 36864 ExifVersion
0x9204 37380 ExposureBiasValue
0xA215 41493 ExposureIndex
0x8822 34850 ExposureProgram
0x829A 33434 ExposureTime
0xA300 41728 FileSource
0x9209 37385 Flash
0xA000 40960 FlashPixVersion
0x829D 33437 FNumber
0x920A 37386 FocalLength
0xA210 41488 FocalPlaneResolutionUnit
0xA20E 41486 FocalPlaneXResolution
0xA20F 41487 FocalPlaneYResolution
0x10E 270 ImageDescription
0x1 1 InteroperabilityIndex
0x2 2 InteroperabilityVersion
0x8827 34855 ISOSpeedRatings
0x9208 37384 LightSource
0x10F 271 Make
0x927C 37500 MakerNote
0x9205 37381 MaxApertureValue
0x9207 37383 MeteringMode
0x110 272 Model
0x112 274 Orientation
0xA002 40962 PixelXDimension
0xA003 40963 PixelYDimension
0x13F 319 PrimaryChromaticities
0x214 532 ReferenceBlackWhite
0x1000 4096 RelatedImageFileFormat
0x1002 4098 RelatedImageLength
0x1001 4097 RelatedImageWidth
0xA004 40964 RelatedSoundFile
0x128 296 ResolutionUnit
0xA301 41729 SceneType
0xA217 41495 SensingMethod
0x9201 37377 ShutterSpeedValue
0x131 305 Software
0x9206 37382 SubjectDistance
0x9290 37520 SubSecTime
0x9292 37522 SubSecTimeDigitized
0x9291 37521 SubSecTimeOriginal
0x9286 37510 UserComment
0x13E 318 WhitePoint
0x11A 282 XResolution
0x211 529 YCbCrCoefficients
0x213 531 YCbCrPositioning
0x212 530 YCbCrSubSampling
0x11B 283 YResolution
     
0x12D 301 TransferFunction
0x13B 315 Artist
0x828F 33423 BatteryLevel
0x83BB 33723 IPTC/NAA
0x8773 34675 InterColorProfile
0x8824 34852 SpectralSensitivity
0x8825 34853 GPSInfo
0xA20B 41483 FlashEnergy
0xA20C 41484 SpatialFrequencyResponse
0xA214 41492 SubjectLocation
0x8828 34856 OECF
0x10A 266 FillOrder
0x10D 269 DocumentName
0x156 342 TransferRange
0x200 512 JPEGProc
0x828D 33421 CFARepeatPatternDim
     
0x9C9B 40091 XP-Titel
0x9C9C 40092 XP-Kommentar
0x9C9D 40093 XP-Autor
0x9C9E 40094 XP-Stichwort
0x9C9F 40095 XP-Thema

Die gelb markierten EintrΣge werden von Microsoft zum Speichern der JPG-Eigenschaften ⁿber den Eigenschaftsdialog unter Windows XP benutzt. Die Inhalte werden als Unicode-Zeichen gespeichert. Zum Auslesen mit Exifnice ist deshalb die Formatangabe 2 zu benutzen.

Sektion Thumbnail
Hexadezimalwert Dezimalwert Bezeichnung
0x100 256 ImageWidth
0x101 257 ImageLength
0x102 258 BitsPerSample
0x103 259 Compression
0x106 262 PhotometricInterpretation
0x111 273 StripOffsets
0x115 277 SamplesPerPixel
0x116 278 RowsPerStrip
0x117 279 StripByteCounts
0x11C 284 PlanarConfiguration
0x201 513 JpegIFOffset
0x202 514 JpegIFCount

 

AusgewΣhlte IPTC-EintrΣge

Hexadezimalwert Dezimalwert Bezeichnung
0x05 5 Object Name
0x37 55 Created date
0x5a 90 City
0x65 101 Country
0xbc 188 Owner id